package com.edu.mapper;

import com.edu.bean.User;
import org.apache.ibatis.annotations.Param;

import java.awt.print.Book;
import java.util.List;
import java.util.Map;

/**
 *@Auther:zzp
 *@Date:2025/10/8-8:38:47
 */
public interface  UserMapper {
    //通过id查用户
    User selectUserById(int id);

    //根据用户名和密码查询用户
    User selectUserByUsernameAndPwd(@Param("username") String abc, @Param("password") String edf);

    //插入新用户
    int insertUser(User user);

    //更新用户年龄
    int updateUserAge(@Param("U") User user, @Param("A") int age);

    //根据多个年龄值查询用户
    List<User> selectUsersByAges(Integer[] ages);

    //根据多个用户名查询用户
    List<User> selectUsersByUsername(List<String> username);

    // 根据Map中的动态条件查询用户
    List<User> selectUsersByMap(Map<String, Object> userMap);

    // 安全模糊查询：根据用户名包含的关键字查询
    List<User> selectUsersByUsernameList(@Param("keyword") String keyword);

    // 根据动态列名和排序方式查询用户（使用${}）
    List<User> selectUsersOrderBy(@Param("D") String abc, @Param("P") String edf);

    // 多参数综合查询：年龄范围 + 性别 + 用户名列表
    List<User> selectUsersByAll(@Param("minAge") int minAge, @Param("maxAge") int maxAge, @Param("gender") String gender, @Param("usernames") String[] usernames);
}
